Análise descritiva
Idade e medidas binárias
dat_casos <-
dat_casos|>
dplyr::mutate(
idade=(dat_casos$'DATA COLETA' - DN)/lubridate::dyears()
)
box_idade <-
ggplot(dat_casos, aes(x=NA, y=idade))+
geom_boxplot()+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title=paste('Boxplot das', nrow(dat_casos), 'idades'))+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
box_sexo <-
dat_casos|>
dplyr::mutate(
Sexo=dplyr::recode(Sexo,
F=paste(table(Sexo)[1], 'femininos'),
M=paste(table(Sexo)[2], 'masculinos'))
)|>
ggplot(aes(x=NA, y=idade))+
geom_boxplot()+
facet_wrap(~Sexo)+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title='por sexo')+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
box_pcomo <-
dat_casos|>
dplyr::mutate(
pcomorbidade=dplyr::recode(
pcomorbidade,
'0'=paste(table(pcomorbidade)[1],
'sem comorbidade'),
'1'=paste(table(pcomorbidade)[2],
'com comorbidade'))
)|>
ggplot(aes(x=NA, y=idade))+
geom_boxplot()+
facet_wrap(~pcomorbidade)+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title='por comorbidade')+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
box_inter <-
dat_casos|>
dplyr::mutate(
Internou=dplyr::recode(Internou,
'0'=paste(table(Internou)[1],
'não internaram'),
'1'=paste(table(Internou)[2],
'internaram'))
)|>
ggplot(aes(x=NA, y=idade))+
geom_boxplot()+
facet_wrap(~Internou)+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title='por internação')+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
box_uti <-
dat_casos|>
dplyr::mutate(
UTI=dplyr::recode(
UTI,
'0'=paste(table(UTI)[1], 'fora de UTI'),
'1'=paste(table(UTI)[2], 'em UTI'))
)|>
ggplot(aes(x=NA, y=idade))+
geom_boxplot()+
facet_wrap(~UTI)+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title='por necessidade de UTI')+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
box_vm <-
dat_casos|>
dplyr::mutate(
VM=dplyr::recode(VM,
'0'=paste(table(VM)[1], 'em VM'),
'1'=paste(table(VM)[2], 'fora de VM'))
)|>
ggplot(aes(x=NA, y=idade))+
geom_boxplot()+
facet_wrap(~VM)+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title='por uso de VM')+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
box_contato <-
dat_casos|>
dplyr::mutate(
contato=CONTATO_CONFIRMADO_OU_SUSPEITO,
contato=dplyr::recode(contato,
'0'=paste(table(contato)[1],
'sem contato'),
'1'=paste(table(contato)[2],
'com contato'),
'9'=paste(table(contato)[3],
'não disponível'))
)|>
ggplot(aes(x=NA, y=idade))+
geom_boxplot()+
facet_wrap(~contato)+
geom_jitter(size=4/3, alpha=0.5)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title='por contato confirmado')+
theme_fivethirtyeight(base_size=13)+
theme(
axis.text.x=element_blank()
)
layout <- "
AAABBB
CCCDDD
EEEFFF
#GGGG#
"
box_idade+
box_sexo+
box_pcomo+
box_inter+
box_uti+
box_vm+
box_contato+patchwork::plot_layout(design=layout)

Idades segredadas pelas medidas
box_wrap1 <-
dat_casos|>
dplyr::mutate(UTI=dplyr::recode(UTI,
'0'='Fora de UTI', '1'='Em UTI'),
pcomorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade'),
Internou=dplyr::recode(Internou,
'0'='& sem internação',
'1'='& internação'),
VM=dplyr::recode(VM, '0'='Fora de VM', '1'='Em VM')
)|>
ggplot(aes(x=UTI, y=idade))+
geom_boxplot(outlier.shape=NA)+
facet_wrap(~pcomorbidade+Internou, nrow=1, scales='free_x')+
geom_jitter(aes(color=VM), size=4/2, alpha=0.75)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title=paste('Boxplot das', nrow(dat_casos), 'idades por',
'\npresença de comorbidade,',
'necessidade de internação, UTI e VM'))+
theme_fivethirtyeight(base_size=14)+
theme(
legend.position='none'
)
box_wrap2 <-
dat_casos|>
dplyr::mutate(contato=CONTATO_CONFIRMADO_OU_SUSPEITO,
contato=dplyr::recode(contato,
'0'='Sem contato',
'1'='Com contato',
'9'='Não disponível'),
pcomorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade'),
Internou=dplyr::recode(Internou,
'0'='& sem internação',
'1'='& internação'),
UTI=dplyr::recode(UTI, '0'='Fora de UTI', '1'='Em UTI')
)|>
ggplot(aes(x=contato, y=idade))+
geom_boxplot(outlier.shape=NA)+
facet_wrap(~pcomorbidade+Internou, nrow=1)+
geom_jitter(aes(color=UTI), size=4/2, alpha=0.75)+
stat_summary(fun=mean, geom='point', size=4, color='red')+
labs(title=paste('presença de comorbidade,',
'\nnecessidade de internação, UTI, e',
'contato confirmado ou suspeito'))+
theme_fivethirtyeight(base_size=14)+
theme(
legend.title=element_blank(),
axis.text.x=element_text(angle=15, vjust=0.75)
)
box_wrap1/box_wrap2

Comorbidades
dat_comor <-
dat_casos|>
dplyr::filter(pcomorbidade==1)|>
dplyr::select(scomorbidade1:scomorbidade3)|>
dplyr::mutate(id=haven::as_factor(1:n()),
scomorbidade2=dplyr::na_if(scomorbidade2, 0),
scomorbidade3=dplyr::na_if(scomorbidade3, 0))|>
tidyr::pivot_longer(!id,
names_to='sistema', values_to='comorbidade',
values_drop_na=TRUE)|>
dplyr::mutate(comorbidade=stringr::str_to_sentence(comorbidade))
comorSum <-
dplyr::summarize(dplyr::group_by(dat_comor, comorbidade),
av_data=length(id), id='Total')
idSum <-
dplyr::summarize(dplyr::group_by(dat_comor, id),
av_data=length(id), comorbidade='Total')
ggplot(dat_comor, aes(x=comorbidade, y=id))+
geom_bin2d(fill='#8A8D8F', alpha=0.7)+
scale_x_discrete(
limits=c(levels(as.factor(dat_comor$comorbidade)), 'Total')
)+
scale_y_discrete(limits=c('Total', rev(unique(dat_comor$id))))+
geom_point(
data=idSum, color='#FF8200', alpha=0.6, size=7, shape=15
)+
geom_point(
data=comorSum, color='#FF8200', alpha=0.6, size=7, shape=15
)+
geom_text(data=idSum, aes(label=av_data))+
geom_text(data=comorSum, aes(label=av_data))+
labs(title='Comorbidades por paciente')+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.text.x=element_text(angle=30, vjust=0.6))

Comorbidades segregadas
col_comor <-
comorSum|>
dplyr::arrange(av_data)|>
dplyr::mutate(comorbidade=haven::as_factor(comorbidade))|>
ggplot(aes(y=comorbidade, x=av_data))+
geom_col(color='#8A8D8F', alpha=0.7)+
geom_text(aes(label=av_data), hjust=-0.5)+
xlim(c(0, 24))+
labs(title=paste0(nrow(idSum), ' pacientes, \n',
sum(comorSum$av_data), ' comorbidades')
)+
theme_fivethirtyeight(base_size=14)
ids1 <-
idSum|>
dplyr::filter(av_data==1)|>
dplyr::pull(id)
col_comor1 <-
dat_comor|>
dplyr::filter(id%in%ids1)|>
dplyr::count(comorbidade)|>
dplyr::arrange(n)|>
dplyr::mutate(comorbidade=haven::as_factor(comorbidade))|>
ggplot(aes(y=comorbidade, x=n))+
geom_col(color='#8A8D8F', alpha=0.7)+
geom_text(aes(label=n), hjust=-0.5)+
xlim(c(0, 16))+
labs(title=paste0(length(ids1), ' com\n', '1 comorbidade'))+
theme_fivethirtyeight(base_size=14)
ids23 <-
idSum|>
dplyr::filter(av_data>1)|>
dplyr::pull(id)
dat_comor23 <-
dat_comor|>
dplyr::filter(id%in%ids23)|>
dplyr::mutate(id=factor(id))
col_comor23 <-
dat_comor23|>
dplyr::count(comorbidade)|>
dplyr::arrange(n)|>
dplyr::mutate(comorbidade=haven::as_factor(comorbidade))|>
ggplot(aes(y=comorbidade, x=n))+
geom_col(color='#8A8D8F', alpha=0.7)+
geom_text(aes(label=n), hjust=-0.5)+
xlim(c(0, 9))+
theme_fivethirtyeight(base_size=14)
ids23order <-
dat_comor23|>dplyr::count(id, sort=TRUE)|>
dplyr::mutate(id=haven::as_factor(id))|>
dplyr::pull(id)
bar_comor23 <-
dat_comor23|>
dplyr::mutate(
id=factor(id, levels=ids23order), Comorbidade=comorbidade
)|>
ggplot(aes(x=id, fill=Comorbidade))+
geom_bar(alpha=0.75)+
labs(title=paste(length(ids23), 'com +1 comorbidades'))+
theme_fivethirtyeight(base_size=14)+
theme(legend.title=element_blank(),
axis.text.x=element_blank())
layout <- "
AABB
CDDD
"
col_comor+col_comor1+col_comor23+bar_comor23+
patchwork::plot_layout(design=layout)

Tempo do início dos sintomas
bar_temponum <-
dat_casos|>
dplyr::mutate(tempo=tempo_inicio_sintomas)|>
dplyr::filter(stringr::str_detect(tempo, '[0-9]'))|>
dplyr::mutate(tempo=factor(as.numeric(tempo)))|>
ggplot(aes(y=tempo))+
geom_bar(color='#8A8D8F', alpha=0.7)+
geom_text(stat='count', aes(label=..count..), hjust=-0.5)+
xlim(c(0, 50))
bar_tempocha <-
dat_casos|>
dplyr::mutate(tempo=tempo_inicio_sintomas)|>
dplyr::filter(!stringr::str_detect(tempo, '[0-9]'))|>
dplyr::mutate(tempo=stringr::str_to_sentence(tempo))|>
ggplot(aes(y=tempo))+
geom_bar(color='#8A8D8F', alpha=0.7)+
geom_text(stat='count', aes(label=..count..), hjust=-0.5)+
xlim(c(0, 40))
(bar_temponum/bar_tempocha)+
plot_layout(heights=c(3.5, 1))+
plot_annotation(
title=paste('Dias a partir do início dos sintomas,',
'\npara os', nrow(dat_casos), 'pacientes')
)&theme_fivethirtyeight(base_size=13)

Tempos segregados
bar_temponumComor <-
dat_casos|>
dplyr::mutate(tempo=tempo_inicio_sintomas)|>
dplyr::filter(stringr::str_detect(tempo, '[0-9]'))|>
dplyr::mutate(tempo=factor(as.numeric(tempo)),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem', '1'='Com')
)|>
ggplot(aes(y=tempo, fill=Comorbidade))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)
bar_tempochaComor <-
dat_casos|>
dplyr::mutate(tempo=tempo_inicio_sintomas)|>
dplyr::filter(!stringr::str_detect(tempo, '[0-9]'))|>
dplyr::mutate(tempo=stringr::str_to_sentence(tempo),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem', '1'='Com')
)|>
ggplot(aes(y=tempo, fill=Comorbidade))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)
(bar_temponumComor/bar_tempochaComor)+
patchwork::plot_layout(heights=c(3.5, 1), guides='collect')+
patchwork::plot_annotation(
title=paste('Dias a partir início dos sintomas,',
'por presença de comorbidade', sep='\n')
)&theme_fivethirtyeight(base_size=13)

bar_temponumInter <-
dat_casos|>
dplyr::mutate(tempo=tempo_inicio_sintomas)|>
dplyr::filter(stringr::str_detect(tempo, '[0-9]'))|>
dplyr::mutate(tempo=factor(as.numeric(tempo)),
Internação=dplyr::recode(Internou,
'0'='Não', '1'='Sim')
)|>
ggplot(aes(y=tempo, fill=Internação))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)
bar_tempochaInter <-
dat_casos|>
dplyr::mutate(tempo=tempo_inicio_sintomas)|>
dplyr::filter(!stringr::str_detect(tempo, '[0-9]'))|>
dplyr::mutate(tempo=stringr::str_to_sentence(tempo),
Internação=dplyr::recode(Internou,
'0'='Não', '1'='Sim')
)|>
ggplot(aes(y=tempo, fill=Internação))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)
(bar_temponumInter/bar_tempochaInter)+
patchwork::plot_layout(heights=c(3.5, 1), guides='collect')+
patchwork::plot_annotation(
title=paste('Dias a partir do início dos sintomas,',
'por necessidade de internação', sep='\n')
)&theme_fivethirtyeight(base_size=13)

Raio-X e tomografia
tile_xray <-
xtabs(~RAIOX1+RAIOX2, dat_casos)|>
tibble::as_tibble()|>
dplyr::mutate(n=factor(n),
Primeira=factor(RAIOX1),
Primeira=dplyr::recode(Primeira,
'1'='Normal',
'2'='Infiltrado instersticial',
'3'='Condensação opacidade',
'4'='Hiperinsuflação',
'5'='Outro',
'6'='Não realizado'),
Segunda=factor(RAIOX2),
Segunda=dplyr::recode(Segunda,
'1'='Normal',
'2'='Infiltrado instersticial',
'3'='Condensação opacidade',
'4'='Hiperinsuflação',
'5'='Outro',
'6'='Não realizado')
)|>
ggplot(aes(x=Primeira, y=Segunda, fill=n))+
geom_tile(color='black', size=0.5, alpha=0.6)+
geom_text(aes(label=n))+
labs(title=paste0('Raio-X tórax,\n', nrow(dat_casos), ' pacientes'))+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.title.x=element_text(),
axis.title.y=element_text(),
axis.text.x=element_text(angle=30, vjust=0.5))+
scale_fill_brewer(palette='Spectral', direction=-1)+
coord_fixed()
tile_tomo <-
xtabs(~TOMO1+TOMO2, dat_casos)|>
tibble::as_tibble()|>
dplyr::mutate(n=factor(n),
Primeira=factor(TOMO1),
Primeira=dplyr::recode(Primeira,
'1'='Normal',
'2'='Infiltrado instersticial',
'3'='Condensação opacidade',
'4'='Vidro fosco',
'5'='Outro',
'6'='Não realizado'),
Segunda=factor(TOMO2),
Segunda=dplyr::recode(Segunda,
'1'='Normal',
'2'='Infiltrado instersticial',
'3'='Condensação opacidade',
'4'='Vidro fosco',
'5'='Outro',
'6'='Não realizado')
)|>
ggplot(aes(x=Primeira, y=Segunda, fill=n))+
geom_tile(color='black', size=0.5, alpha=0.6)+
geom_text(aes(label=n))+
labs(title=paste0('Tomografia,\n', nrow(dat_casos), ' pacientes'))+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.title.x=element_text(),
axis.title.y=element_text(),
axis.text.x=element_text(angle=30, vjust=0.5))+
scale_fill_brewer(palette='Spectral', direction=-1)+
coord_fixed()
tile_xray|tile_tomo

PCR
line_pcr <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('PCR', 1:8)))|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='PCR', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=dplyr::if_else(
valor%in%c('INFERIOR 5'), '0', valor
),
valor=as.numeric(valor),
PCR=factor(PCR)
)|>
tidyr::drop_na()|>
ggplot(aes(x=PCR, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='PCRs')
line_pcrComor <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('PCR', 1:8)), pcomorbidade)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(dplyr::starts_with('PCR'),
names_to='PCR', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=dplyr::if_else(
valor%in%c('INFERIOR 5'), '0', valor
),
valor=as.numeric(valor),
PCR=factor(PCR),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade'))|>
tidyr::drop_na()|>
ggplot(aes(x=PCR, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='por presença de comorbidade')+
facet_wrap(~Comorbidade, scales='free')
line_pcr/line_pcrComor

VHS
line_vhs <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('VHS', 1:4)))|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='VHS', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
VHS=factor(VHS)
)|>
tidyr::drop_na()|>
ggplot(aes(x=VHS, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='VHSs')
line_vhsComor <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('VHS', 1:4)), pcomorbidade)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(dplyr::starts_with('VHS'),
names_to='VHS', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
VHS=factor(VHS),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade')
)|>
tidyr::drop_na()|>
ggplot(aes(x=VHS, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='por presença de comorbidade')+
facet_wrap(~Comorbidade, scales='free')
line_vhs/line_vhsComor

Dímero-D
line_dime <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('Dímero-D', 1:8)))|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='DímeroD', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
DímeroD=factor(DímeroD)
)|>
tidyr::drop_na()|>
ggplot(aes(x=DímeroD, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='Dímero-Ds')
line_dimeComor <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('Dímero-D', 1:8)), pcomorbidade)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(dplyr::starts_with('Dímero-D'),
names_to='DímeroD', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
DímeroD=factor(DímeroD),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade')
)|>
tidyr::drop_na()|>
ggplot(aes(x=DímeroD, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='Dímero-Ds por presença de comorbidade')+
facet_wrap(~Comorbidade, scales='free')
line_dime/line_dimeComor

Município
dat_casos|>
dplyr::mutate(Município=factor(stringr::str_to_title(Município)),
Município=factor(Município,
levels=rev(levels(Município))),
Internação=dplyr::recode(Internou,
'0'='Não', '1'='Sim')
)|>
ggplot(aes(y=Município, fill=Internação))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)+
theme_fivethirtyeight(base_size=14)+
labs(title=paste('Município dos', nrow(dat_casos), 'pacientes,',
'\npor necessidade de internação'))

Sinais clínicos
sinaisc <-
dat_casos|>
dplyr::select(FEBRE:OUTRO, Internou)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!c(id, Internou, OUTRO),
names_to='sinal', values_to='presença')|>
dplyr::mutate(sinal=stringr::str_to_title(sinal),
Internação=dplyr::recode(Internou,
'0'='Não', '1'='Sim'))
sinaiscTable <-
sinaisc|>
dplyr::filter(presença==1)|>
dplyr::count(sinal)|>
dplyr::arrange(n)|>
dplyr::mutate(sinal=haven::as_factor(sinal))
sinallevels <- levels(sinaiscTable$sinal)
ggplot(sinaiscTable, aes(y=sinal, x=n))+
geom_col(color='#8A8D8F', alpha=0.7)+
geom_text(aes(label=n), hjust=-0.5)+
xlim(c(0, 190))+
labs(
title=paste('Sinais clínicos dos', nrow(dat_casos), 'pacientes')
)+
theme_fivethirtyeight(base_size=13)

Sinais clínicos por internação
sinaisc|>
dplyr::filter(presença==1)|>
dplyr::mutate(sinal=factor(sinal, levels=rev(sinallevels)))|>
ggplot(aes(y=sinal, fill=Internação))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)+
labs(title=paste('Sinais clínicos dos', nrow(dat_casos),
'pacientes,', '\npor necessidade de internação'))+
theme_fivethirtyeight(base_size=13)

Outros sinais clínicos
sinaiscoutroTable <-
sinaisc|>
dplyr::mutate(outro=dplyr::na_if(OUTRO, 0),
outro=dplyr::recode(outro, '9'='Não disponível'),
outro=stringr::str_to_sentence(outro)
)|>
tidyr::drop_na()|>
dplyr::count(outro)|>
dplyr::arrange(n)|>
dplyr::mutate(outro=haven::as_factor(outro))
sinaloutrolevels <- levels(sinaiscoutroTable$outro)
sinaisc|>
dplyr::mutate(outro=dplyr::na_if(OUTRO, 0),
outro=dplyr::recode(outro, '9'='Não disponível'),
outro=stringr::str_to_sentence(outro)
)|>
tidyr::drop_na()|>
dplyr::mutate(outro=factor(outro, levels=sinaloutrolevels))|>
ggplot(aes(y=outro, fill=Internação))+
geom_bar(alpha=0.75)+
labs(title=paste('Sinais clínicos dos', nrow(dat_casos),
'pacientes,', '\npor necessidade de internação'))+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5)
)+
theme_fivethirtyeight(base_size=14)

Combinações dos “outros”
dat_casos|>
dplyr::select(FEBRE:AGEUSIA)|>
dplyr::group_by_all()|>
dplyr::tally()|>
dplyr::filter(n>1)|>
tibble::as_tibble()|>
dplyr::mutate(profile=as.character(1:dplyr::n()))|>
tidyr::pivot_longer(
!c(profile, n), names_to='sinal', values_to='status'
)|>
dplyr::filter(status==1)|>
dplyr::arrange(desc(n))|>
dplyr::mutate(profile=haven::as_factor(profile),
profile=factor(
profile, labels=c(1:length(levels(profile)))
),
sinal=stringr::str_to_sentence(sinal),
sinal=haven::as_factor(sinal)
)|>
ggplot(aes(x=n, y=profile, fill=sinal))+
geom_col(alpha=0.75)+
geom_text(aes(label=n), position=position_stack(0.5))+
theme_fivethirtyeight()+
theme(legend.title=element_blank())+
labs(title='Combinações de estados clínicos com frequência > 1')

dat_casos|>
dplyr::select(FEBRE:AGEUSIA, Internou)|>
dplyr::group_by_all()|>
dplyr::tally()|>
dplyr::filter(n>1)|>
tibble::as_tibble()|>
dplyr::mutate(profile=as.character(1:dplyr::n()))|>
tidyr::pivot_longer(!c(profile, n, Internou),
names_to='sinal', values_to='status')|>
dplyr::filter(status==1)|>
dplyr::arrange(desc(n))|>
dplyr::mutate(profile=haven::as_factor(profile),
profile=factor(
profile, labels=c(1:length(levels(profile)))
),
sinal=stringr::str_to_sentence(sinal),
sinal=haven::as_factor(sinal),
Internação=dplyr::recode(Internou,
'0'='Sem internação',
'1'='Com internação')
)|>
ggplot(aes(x=n, y=profile, fill=sinal))+
geom_col(alpha=0.75)+
facet_wrap(~Internação, scales='free')+
geom_text(aes(label=n), position=position_stack(0.5))+
theme_fivethirtyeight()+
theme(legend.title=element_blank())+
labs(title=paste(
'Combinações de estados clínicos com frequência > 1,',
'\npor necessidade de internação'))

Linfócitos e neutrófilos
dat_casos|>
dplyr::select(linfócitos, neutrófilos)|>
tidyr::gather(key, value)|>
dplyr::mutate(value=dplyr::recode(value,
'0'='Normal',
'1'='Diminuído',
'2'='Aumentado',
'9'='Não disponível'),
key=stringr::str_to_title(key))|>
ggplot(aes(x=value, fill=key))+
geom_bar(position='dodge', alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_dodge(1),
vjust=-1
)+
labs(title='Linfócitos e neutrófilos')+
ylim(c(0, 200))+
theme_fivethirtyeight()+
scale_fill_fivethirtyeight()+
theme(legend.title=element_blank())

bar_linfneut <-
dat_casos|>
dplyr::select(linfócitos, neutrófilos)|>
tidyr::gather(key, value)|>
dplyr::mutate(value=dplyr::recode(value,
'0'='Normal',
'1'='Diminuído',
'2'='Aumentado',
'9'='Não disponível'),
key=stringr::str_to_title(key),
key=factor(key, levels=rev(unique(key)))
)|>
ggplot(aes(y=key, fill=value))+
geom_bar(alpha=0.75)+
geom_text(
stat='count', aes(label=..count..), position=position_stack(0.5),
)+
theme_fivethirtyeight(base_size=14)+
theme(legend.title=element_blank())
line_linf <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('linfócitos', 1:11)))|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='linfócitos', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
linfócitos=factor(linfócitos)
)|>
tidyr::drop_na()|>
ggplot(aes(x=linfócitos, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.text.x=element_text(angle=45, vjust=0.6))+
labs(title='Linfócitos')
line_neut <-
dat_casos|>
dplyr::select(dplyr::one_of(paste0('neutrófilos', 1:11)))|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='neutrófilos', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
neutrófilos=factor(neutrófilos)
)|>
tidyr::drop_na()|>
ggplot(aes(x=neutrófilos, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.text.x=element_text(angle=45, vjust=0.6))+
labs(title='Neutrófilos')
bar_linfneut/(line_linf|line_neut)+patchwork::plot_layout(heights=c(1, 2))

por comorbidade
line_linfComor <-
dat_casos|>
dplyr::select(
dplyr::one_of(paste0('linfócitos', 1:11)), pcomorbidade
)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(dplyr::starts_with('linfócitos'),
names_to='linfócitos', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
linfócitos=factor(linfócitos),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade')
)|>
tidyr::drop_na()|>
ggplot(aes(x=linfócitos, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.text.x=element_text(angle=45, vjust=0.6))+
labs(title='Linfócitos por presença de comorbidade')+
facet_wrap(~Comorbidade, scales='free')
line_neutComor <-
dat_casos|>
dplyr::select(
dplyr::one_of(paste0('neutrófilos', 1:11)), pcomorbidade
)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(dplyr::starts_with('neutrófilos'),
names_to='neutrófilos', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
neutrófilos=factor(neutrófilos),
Comorbidade=dplyr::recode(pcomorbidade,
'0'='Sem comorbidade',
'1'='Com comorbidade')
)|>
tidyr::drop_na()|>
ggplot(aes(x=neutrófilos, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
## geom_line()+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none',
axis.text.x=element_text(angle=45, vjust=0.6))+
labs(title='Neutrófilos por presença de comorbidade')+
facet_wrap(~Comorbidade, scales='free')
line_linfComor/line_neutComor

igs
line_iga <-
dat_casos|>
dplyr::select(iga1, iga2)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='iga', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=dplyr::if_else(valor%in%c('Inferior a 10'),
'0',
valor),
valor=as.numeric(valor),
iga=factor(iga)
)|>
tidyr::drop_na()|>
ggplot(aes(x=iga, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='iga')
line_igg <-
dat_casos|>
dplyr::select(igg1, igg2)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='igg', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=as.numeric(valor),
igg=factor(igg)
)|>
tidyr::drop_na()|>
ggplot(aes(x=igg, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='igg')
line_igm <-
dat_casos|>
dplyr::select(igm1, igm2)|>
dplyr::mutate(id=factor(1:dplyr::n()))|>
tidyr::pivot_longer(!id, names_to='igm', values_to='valor')|>
dplyr::mutate(valor=dplyr::na_if(valor, 'NR'),
valor=dplyr::if_else(valor%in%c('Inferior a 20'),
'0',
valor),
valor=as.numeric(valor),
igm=factor(igm)
)|>
tidyr::drop_na()|>
ggplot(aes(x=igm, y=valor, group=id, color=id, fill=id))+
geom_area(alpha=0.30, size=1.25, position=position_dodge(0))+
geom_point(size=2)+
theme_fivethirtyeight(base_size=14)+
theme(legend.position='none')+
labs(title='igm')
line_iga|line_igg|line_igm
